package org.dromara.basic.service;

import org.dromara.basic.domain.FaceImage;
import org.dromara.basic.domain.bo.MemberBo;
import org.dromara.basic.domain.vo.FaceImageVo;
import org.dromara.basic.domain.bo.FaceImageBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.springframework.web.multipart.MultipartFile;

import java.util.Collection;
import java.util.List;

/**
 * 学生人脸信息Service接口
 *
 * @author chl
 * @date 2024-10-17
 */
public interface IFaceImageService {

    /**
     * 查询学生人脸信息
     */
    FaceImageVo queryById(Long id);

    /**
     * 查询学生人脸信息列表
     */
    TableDataInfo<FaceImageVo> queryPageList(FaceImageBo bo, PageQuery pageQuery);

    /**
     * 查询学生人脸信息列表
     */
    List<FaceImageVo> queryList(FaceImageBo bo);

    /**
     * 新增学生人脸信息
     */
    Boolean insertByBo(FaceImageBo bo);

    /**
     * 修改学生人脸信息
     */
    Boolean updateByBo(FaceImageBo bo);

    /**
     * 校验并批量删除学生人脸信息信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    FaceImageVo selectVoByStuNum(String stuNum);

    Boolean synchronizeImage(List<MultipartFile> files);
    Boolean synchronizeImage(MultipartFile files,FaceImageBo faceImageB);
    Boolean batchCreate(MemberBo bo);
    Boolean synchronizeDeviceBatch(FaceImageBo faceImageBo);

    Boolean synchronizeDeviceOne(FaceImageBo faceImageBo);

    Boolean synchronizeDeviceBatchRemove(FaceImageBo faceImageBo);
}
